function ProjectProcess() {
    var _this = this;
    _this.userCount = 0;
    var page1,page2;
    _this.page_size1 = 10;
    _this.page_size2 = 10;

    // init
    _this.init = function(page_1,page_2) {
        page1 = page_1;page2 = page_2;
        _this.initTable_kaoqin();
        _this.initEvent();

        // 菜单切换
        $(".status").click(function () {
            var $this = $(this);
            $(this).addClass("active").siblings('.status').removeClass('active');
            var type = $(this).attr("process_type");
            if(1 == type){
                $("#kaoqin").show();
                $("#score_manage").hide();
                $("#train_assess").hide();
                // 初始化成绩管理列表
                _this.initTable_kaoqin();
            }else if(5 == type){
                $("#kaoqin").hide();
                $("#score_manage").show();
                $("#train_assess").hide();
                // 初始化考勤管理列表
                _this.initTable_score();
            }else{
                $("#kaoqin").hide();
                $("#score_manage").hide();
                $("#train_assess").show();
            }
        });
    }

    // 考勤列表
    _this.initTable_kaoqin = function() {
        var list_url = appPath + "/admin/projectOffline/userKaoqinList";
        page1.init("kaoqin_user_form", list_url, "kaoqin_user_list", "kaoqin_user_page", 1, _this.page_size1);
        page1.goPage(1);
        page1.list = function(dataList){
            _this.obj = dataList;
            if(dataList == null){
                return;
            }
            var len = dataList.length;
            _this.userCount = len;
            var inner = "", item;
            // 组装数据
            for(var i=0; i< len; i++) {
                item = dataList[i];
                // 组装数据
                inner += "<tr>";
                inner += '<td width="50"><input type=\"checkbox\" name="userBox" value="' + item['userId'] + '"></td>';
                inner += "<td>"+(parseInt(i)+1)+"</td>";
                if(item.signTime != ''){
                    var str = item.signTime;
                    inner += "<td>"+str.substring(0,16)+"</td>";
                }else{
                    inner += "<td>/</td>";
                }
                inner += "<td>"+item.userName+"</td>";
                inner += "<td>"+item.companyName+"</td>";
                if(item.departmentName == null || item.departmentName == ""){
                    inner += "<td>/</td>";
                }else{
                    inner += "<td>"+item.departmentName+"</td>";
                }
                inner += "<td>"+TimeUtil.getHouAndMinAndSec(item['studyTime'])+"</td>";
                if(1 == item.signType){
                    inner += "<td>扫码签到</td>";
                }else{
                    inner += "<td>管理员添加</td>";
                }
                inner += "</tr>";
            }
            return inner;
        }

    };

    // 成绩列表
    _this.initTable_score = function() {
        var list_url = appPath + "/admin/projectOffline/userScoreList";
        page2.init("score_user_form", list_url, "score_user_list", "score_user_page", 1, _this.page_size2);
        page2.goPage(1);
        page2.list = function(dataList){
            _this.obj = dataList;
            if(dataList == null){
                return;
            }
            var len = dataList.length;
            var inner = "", item;
            // 组装数据
            for(var i=0; i< len; i++) {
                item = dataList[i];
                // 组装数据
                inner += "<tr>";
                inner += "<td>"+(parseInt(i)+1)+"</td>";
                inner += "<td>"+item.userName+"</td>";
                inner += "<td>"+item.userAccount+"</td>";
                inner += "<td>"+item.companyName+"</td>";
                if(item.departmentName == null || item.departmentName == ""){
                    inner += "<td>/</td>";
                }else{
                    inner += "<td>"+item.departmentName+"</td>";
                }
                inner += "<td>"+item.score+"</td>";
                if(1 == item.isPassed){
                    inner += "<td>合格</td>";
                }else if(2 == item.isPassed){
                    inner += "<td>不合格</td>";
                }else{
                    inner += "<td>未考试</td>";
                }
                inner += "</tr>";
            }
            return inner;
        }

    };

    _this.initEvent = function () {
        // 搜索（考勤）
        $("#kaoqin_user_search").click(function () {
            _this.initTable_kaoqin();
        });

        // 搜索（成绩）
        $("#score_user_search").click(function () {
            _this.initTable_score();
        });

        // 全部（考勤）
        $("#kaoqin_user_all").click(function () {
            $("#kaoqin_user_name").val("");
            $("#kaoqin_company_name").val("");
            $("#signType").val("");
            _this.initTable_kaoqin();
        });

        // 全部（成绩）
        $("#score_user_all").click(function () {
            $("#score_user_name").val("");
            $("#score_company_name").val("");
            _this.initTable_score();
        });

        // 全选
        $("#checkAll").click(function () {
            _this.userCheckAll();
        });
    }

    // 导出考勤签到表
    _this.signExport=function(projectId){
        if(_this.userCount > 0){
            window.location.href = appPath + '/admin/projectOffline/signExport?projectId='+ projectId;
        }else{
            layer.msg('暂无可导出的数据', {icon: 7,  skin: 'layer-ext-moon'});
        }
    }

    // 导入成绩
    _this.scoreImport=function(projectId){
        // 导入模板类型 1：学员模板  2：角色模板  4:成绩模板
        //exportTye 1调用学员导出方法 2调用角色导出方法 4:调用导入成绩方法
        var tempType = "4";
        var params = new Object();
        params.projectId = projectId;
        layer.open({
            type: 2,
            title: 'excel导入成绩',
            shadeClose: false,				//true点击遮罩层关闭
            shade: 0.3,					    //遮罩层背景
            maxmin: true, 					// 开启最大化最小化按钮
            area: ['1000px', '80%'],		//弹出层大小
            scrollbar: false,				//false隐藏滑动块
            content: [appPath + '/admin/excelImport/to_import?tempType=' + tempType + '&exportTye=4' + '&params=' + encodeURIComponent(JSON.stringify(params)), 'yes'],
            cancel: function () {
                //刷新数据
                _this.initTable_score();
            }
        })
    }
    

    // 批量删除
    _this.deleteBatch = function () {
        var userIds=[]
        $('#kaoqin_user_list input:checked').each(function(i,e){
            userIds.push($(this).val());
        });
        if(userIds.length==0){
            layer.msg("未选择人员");return;
        }
        layer.confirm("确定此操作吗?", {
            icon : 3,
            btn : [ "确认", "取消" ]
        }, function() {
            $.ajax({
                url: appPath + '/admin/projectOffline/deleteProjectUser',
                async: false,
                type: 'post',
                data: {
                    'projectId': $("#projectId").val(), 	            // 项目总览id
                    'ids': userIds.join(",")	                        // 人员ids
                },
                success: function(data){
                    var code = data['code'];
                    if(code){
                        layer.alert('操作成功', {icon: 1,  skin: 'layer-ext-moon', closeBtn:0}, function(index){
                            layer.close(index);
                            _this.initTable_kaoqin();
                        });
                    }else{
                        layer.alert('操作失敗', {icon: 2,  skin: 'layer-ext-moon'});
                    }
                }
            });
        });
    }

    // 全选
    _this.userCheckAll=function(){
        var flag=$("#checkAll").prop("checked");
        $('#kaoqin_user_list input[type="checkbox"]').prop("checked",flag);
    }

    // 选择人员
    _this.selectUser = function () {
        // 调用选择培训人员弹窗
        layer.open({
            type : 2,
            title : '选择培训人员',
            area : [ '1200px', '80%' ],		//弹出层大小
            scrollbar : false,				//false隐藏滑动块
            content : [ appPath + '/popup/offlineSelectUser', 'yes' ]
        });
    }

    // 选择人员后回调(保存线下项目人员)
    _this.train_user_callback = function (rows) {
        var users = [];
        for(var i=0; i<rows.length; i++){
            if(rows[i].id){
                var obj=new Object();
                obj.id=rows[i].id;
                obj.userName=rows[i].userName;
                obj.userAccount=rows[i].userAccount;
                obj.companyId=rows[i].companyId;
                obj.companyName=rows[i].companyName;
                obj.deptName=rows[i].departmentName==null?"":rows[i].departmentName;
                obj.departmentId=rows[i].departmentId==null?rows[i].companyId:rows[i].departmentId;
                users.push(obj);
            }
        }
        users =JSON.stringify(users);
        // 保存项目人员
        $.ajax({
            url: appPath + '/admin/projectOffline/save_project_user',
            async: false,
            type: 'post',
            data: {
                'projectId': $("#projectId").val(),     // 项目id
                'users': users
            },
            success: function(data){
                var code = data['code'];
                if(code==10000){
                    layer.alert('操作成功', {icon: 1,  skin: 'layer-ext-moon',closeBtn:0}, function(index){
                        layer.close(index);
                        // 刷新项目人员
                        _this.initTable_kaoqin();
                    });
                }else{
                    layer.msg(data.message, {icon: 2});
                }
            }
        });
    }

    //扫码签到
    _this.scanSign = function () {
        // 扫码签到弹窗
        layer.open({
            type: 1,
            title: '扫码签到',
            shadeClose: true,
            shade: 0.1,
            area: ['320px', '350px'],
            content: '<img src="'+$("#codeUrl").val()+'">'
        });
    }
    
}

var projectProcess = new ProjectProcess();